using System;

namespace Microsoft.PowerShell.CmdletManagement
{
    using System;

    /// <summary>
    /// A class that represents a Verb
    /// </summary>
    public class PsSpecVerb : IComparable
    {
        public PsSpecVerb() { }

        public PsSpecVerb(string type, string name, string definition, string comments, string obsoletes, string pair)
        {
            this.type = type;
            this.name = name;
            this.definition = definition;
            this.comments = comments;
            this.obsoletes = obsoletes;
            this.pair = pair;
        }

        public string Type
        {
            get { return type; }
            set { type = value; }
        }
        private string type;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private string name;

        public string Definition
        {
            get { return definition; }
            set { definition = value; }
        }
        private string definition;

        public string Comments
        {
            get { return comments; }
            set { comments = value; }
        }
        private string comments;

        public string Obsoletes
        {
            get { return obsoletes; }
            set { obsoletes = value; }
        }
        private string obsoletes;

        public string Pair
        {
            get { return pair; }
            set { pair = value; }
        }
        private string pair;

        #region IComparable<PsSpecVerb> Members

        public int CompareTo(Object other)
        {
            PsSpecVerb otherVerb = other as PsSpecVerb;
            if (otherVerb != null)
                return this.Name.CompareTo(otherVerb.Name);
            else
                return 0;
        }

        #endregion
    }
}